﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Estrutura;
using Banco;

public partial class Cadastros_Material_cadastro : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["operacao"]))
                hid_operacao.Value = Request.QueryString["operacao"];

            if (hid_operacao.Value == "edit")
            {                
                if (!string.IsNullOrEmpty(Request.QueryString["MATERIAL_ID"]))
                {
                    material_id.Text = Request.QueryString["MATERIAL_ID"];
                    carregarMaterial(material_id.Text);
                    mtr_quantidadedisp.ReadOnly = true;
                }
            }
            else if (hid_operacao.Value == "insert")
            {
                material_id.Text = "NEW";
                mtr_quantidadedisp.ReadOnly = false;
                mtr_dtcadastro.SelectedDate = System.DateTime.Now;
            }
        }
    }
    protected void material_modalidade_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        material_modalidade_id.DataSourceID = ods_material_modalidade.ID;
        material_modalidade_id.DataBind();
    }
    protected void imgbConfirmarDadosCad_Click(object sender, ImageClickEventArgs e)
    {
        if (hid_operacao.Value == "edit")
        {
            new BD_Material()._atualizar_Material(material_id.Text,
                                                material_modalidade_id.SelectedValue,
                                                mtr_descricao.Text,
                                                mtr_valor.Text,
                                                mtr_quantidadedisp.Text,
                                                mtr_validade.Text,
                                                mtr_dtcadastro.SelectedDate.ToString(),
                                                mtr_dtvalidade.SelectedDate.ToString(),
                                                mtr_observacao.Text);

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "Close();", true); 
        }
        else if (hid_operacao.Value == "insert")
        {
            new BD_Material()._inserir_Material(string.Empty,
                                                material_modalidade_id.SelectedValue,
                                                mtr_descricao.Text,
                                                mtr_valor.Text,
                                                mtr_quantidadedisp.Text,
                                                mtr_validade.Text,
                                                mtr_dtcadastro.SelectedDate.ToString(),
                                                mtr_dtvalidade.SelectedDate.ToString(),
                                                mtr_observacao.Text);

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "Close();", true);    

        }
    }

    protected void carregarMaterial(string MATERIAL_ID)
    {
        ES_Material item = new BD_Material()._obter_Material_by_id(MATERIAL_ID);
        material_id.Text = item.MATERIAL_ID;
        if (!string.IsNullOrEmpty(item.MATERIAL_MODALIDADE_ID))
        {
            material_modalidade_id.DataSourceID = ods_material_modalidade.ID;
            material_modalidade_id.DataBind();
            material_modalidade_id.SelectedValue = item.MATERIAL_MODALIDADE_ID;
        }        
        mtr_descricao.Text = item.MTR_DESCRICAO;
        mtr_valor.Text = item.MTR_VALOR;
        mtr_quantidadedisp.Text = item.MTR_QUANTIDADEDISP;
        mtr_validade.Text = item.MTR_VALIDADE;
        if(!string.IsNullOrEmpty(item.MTR_DTCADASTRO))
            mtr_dtcadastro.SelectedDate = Convert.ToDateTime(item.MTR_DTCADASTRO);
        if (!string.IsNullOrEmpty(item.MTR_DTVALIDADE))
            mtr_dtvalidade.SelectedDate = Convert.ToDateTime(item.MTR_DTVALIDADE);
        mtr_observacao.Text = item.MTR_OBSERVACAO;
    }
    protected void mtr_validade_TextChanged(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(mtr_validade.Text))
        {
            if (!string.IsNullOrEmpty(mtr_dtcadastro.Text))
                mtr_dtvalidade.SelectedDate = mtr_dtcadastro.SelectedDate.Value.AddDays(Convert.ToDouble(mtr_validade.Text));
        }

    }
    protected void mtr_dtcadastro_TextChanged(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(mtr_validade.Text))
        {
            if (!string.IsNullOrEmpty(mtr_dtcadastro.Text))
                mtr_dtvalidade.SelectedDate = mtr_dtcadastro.SelectedDate.Value.AddDays(Convert.ToDouble(mtr_validade.Text));
        }
    }
}